<!DOCTYPE html>

<html>
  <head>
    <title>Protocol Documentation</title>
    <meta charset="UTF-8">
    <link rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css?family=Ubuntu:400,700,400italic"/>
    <style>
      body {
        width: 60em;
        margin: 1em auto;
        color: #222;
        font-family: "Ubuntu", sans-serif;
        padding-bottom: 4em;
      }

      h1 {
        font-weight: normal;
        border-bottom: 1px solid #aaa;
        padding-bottom: 0.5ex;
      }

      h2 {
        border-bottom: 1px solid #aaa;
        padding-bottom: 0.5ex;
        margin: 1.5em 0;
      }

      h3 {
        font-weight: normal;
        border-bottom: 1px solid #aaa;
        padding-bottom: 0.5ex;
      }

      a {
        text-decoration: none;
        color: #567e25;
      }

      table {
        width: 100%;
        font-size: 80%;
        border-collapse: collapse;
      }

      thead {
        font-weight: 700;
        background-color: #dcdcdc;
      }

      tbody tr:nth-child(even) {
        background-color: #fbfbfb;
      }

      td {
        border: 1px solid #ccc;
        padding: 0.5ex 2ex;
      }

      td p {
        text-indent: 1em;
        margin: 0;
      }

      td p:nth-child(1) {
        text-indent: 0;  
      }

       
      .field-table td:nth-child(1) {  
        width: 10em;
      }
      .field-table td:nth-child(2) {  
        width: 10em;
      }
      .field-table td:nth-child(3) {  
        width: 6em;
      }
      .field-table td:nth-child(4) {  
        width: auto;
      }

       
      .extension-table td:nth-child(1) {  
        width: 10em;
      }
      .extension-table td:nth-child(2) {  
        width: 10em;
      }
      .extension-table td:nth-child(3) {  
        width: 10em;
      }
      .extension-table td:nth-child(4) {  
        width: 5em;
      }
      .extension-table td:nth-child(5) {  
        width: auto;
      }

       
      .enum-table td:nth-child(1) {  
        width: 10em;
      }
      .enum-table td:nth-child(2) {  
        width: 10em;
      }
      .enum-table td:nth-child(3) {  
        width: auto;
      }

       
      .scalar-value-types-table tr {
        height: 3em;
      }

       
      #toc-container ul {
        list-style-type: none;
        padding-left: 1em;
        line-height: 180%;
        margin: 0;
      }
      #toc > li > a {
        font-weight: bold;
      }

       
      .file-heading {
        width: 100%;
        display: table;
        border-bottom: 1px solid #aaa;
        margin: 4em 0 1.5em 0;
      }
      .file-heading h2 {
        border: none;
        display: table-cell;
      }
      .file-heading a {
        text-align: right;
        display: table-cell;
      }

       
      .badge {
        width: 1.6em;
        height: 1.6em;
        display: inline-block;

        line-height: 1.6em;
        text-align: center;
        font-weight: bold;
        font-size: 60%;

        color: #89ba48;
        background-color: #dff0c8;

        margin: 0.5ex 1em 0.5ex -1em;
        border: 1px solid #fbfbfb;
        border-radius: 1ex;
      }
    </style>

    
    <link rel="stylesheet" type="text/css" href="stylesheet.css"/>
  </head>

  <body>

    <h1 id="title">Protocol Documentation</h1>

    <h2>Table of Contents</h2>

    <div id="toc-container">
      <ul id="toc">
        
          
          <li>
            <a href="#jmash%2frbac%2frbac_rpc.proto">jmash/rbac/rbac_rpc.proto</a>
            <ul>
              
              
              
              
                <li>
                  <a href="#jmash.rbac.Rbac"><span class="badge">S</span>Rbac</a>
                </li>
              
            </ul>
          </li>
        
        <li><a href="#scalar-value-types">Scalar Value Types</a></li>
      </ul>
    </div>

    
      
      <div class="file-heading">
        <h2 id="jmash/rbac/rbac_rpc.proto">jmash/rbac/rbac_rpc.proto</h2><a href="#title">Top</a>
      </div>
      <p></p>

      

      

      

      
        <h3 id="jmash.rbac.Rbac">Rbac</h3>
        <p>Rbac Service</p>
        <table class="enum-table">
          <thead>
            <tr><td>Method Name</td><td>Request Type</td><td>Response Type</td><td>Description</td></tr>
          </thead>
          <tbody>
            
              <tr>
                <td>version</td>
                <td><a href="#google.protobuf.Empty">.google.protobuf.Empty</a></td>
                <td><a href="#google.protobuf.StringValue">.google.protobuf.StringValue</a></td>
                <td><p>版本</p></td>
              </tr>
            
              <tr>
                <td>findEnumList</td>
                <td><a href="#google.protobuf.StringValue">.google.protobuf.StringValue</a></td>
                <td><a href="#jmash.protobuf.EnumValueList">.jmash.protobuf.EnumValueList</a></td>
                <td><p>枚举值列表</p></td>
              </tr>
            
              <tr>
                <td>findEnumMap</td>
                <td><a href="#google.protobuf.StringValue">.google.protobuf.StringValue</a></td>
                <td><a href="#jmash.protobuf.CustomEnumValueMap">.jmash.protobuf.CustomEnumValueMap</a></td>
                <td><p>枚举值Map</p></td>
              </tr>
            
              <tr>
                <td>findEnumEntry</td>
                <td><a href="#jmash.protobuf.EnumEntryReq">.jmash.protobuf.EnumEntryReq</a></td>
                <td><a href="#jmash.protobuf.EntryList">.jmash.protobuf.EntryList</a></td>
                <td><p>枚举值</p></td>
              </tr>
            
              <tr>
                <td>login</td>
                <td><a href="#jmash.rbac.LoginReq">LoginReq</a></td>
                <td><a href="#jmash.rbac.TokenResp">TokenResp</a></td>
                <td><p>用户登录</p></td>
              </tr>
            
              <tr>
                <td>loginByQrcode</td>
                <td><a href="#jmash.rbac.LoginQrcodeReq">LoginQrcodeReq</a></td>
                <td><a href="#jmash.rbac.TokenResp">TokenResp</a></td>
                <td><p>二维码扫码登录.</p></td>
              </tr>
            
              <tr>
                <td>sendValidCode</td>
                <td><a href="#jmash.rbac.SendValidCodeReq">SendValidCodeReq</a></td>
                <td><a href="#google.protobuf.BoolValue">.google.protobuf.BoolValue</a></td>
                <td><p>发送验证码.</p></td>
              </tr>
            
              <tr>
                <td>loginByValidCode</td>
                <td><a href="#jmash.rbac.ValidCodeLoginReq">ValidCodeLoginReq</a></td>
                <td><a href="#jmash.rbac.TokenResp">TokenResp</a></td>
                <td><p>通过验证码登录</p></td>
              </tr>
            
              <tr>
                <td>selectDsdRoles</td>
                <td><a href="#jmash.protobuf.TenantReq">.jmash.protobuf.TenantReq</a></td>
                <td><a href="#jmash.rbac.DsdRoleListResp">DsdRoleListResp</a></td>
                <td><p>登录选择动态互斥角色,无需权限.</p></td>
              </tr>
            
              <tr>
                <td>logout</td>
                <td><a href="#jmash.rbac.LogoutReq">LogoutReq</a></td>
                <td><a href="#google.protobuf.BoolValue">.google.protobuf.BoolValue</a></td>
                <td><p>用户登出.</p></td>
              </tr>
            
              <tr>
                <td>refreshToken</td>
                <td><a href="#jmash.rbac.RefreshTokenReq">RefreshTokenReq</a></td>
                <td><a href="#jmash.rbac.TokenResp">TokenResp</a></td>
                <td><p>刷新Token</p></td>
              </tr>
            
              <tr>
                <td>userInfo</td>
                <td><a href="#jmash.protobuf.TenantReq">.jmash.protobuf.TenantReq</a></td>
                <td><a href="#jmash.rbac.UserModel">UserModel</a></td>
                <td><p>获取当前会话用户(含DSD动态职责分离).</p></td>
              </tr>
            
              <tr>
                <td>updateUserInfo</td>
                <td><a href="#jmash.rbac.UpdateUserReq">UpdateUserReq</a></td>
                <td><a href="#jmash.rbac.UserModel">UserModel</a></td>
                <td><p>个人中心修改个人信息</p></td>
              </tr>
            
              <tr>
                <td>userRolesPerms</td>
                <td><a href="#jmash.protobuf.TenantReq">.jmash.protobuf.TenantReq</a></td>
                <td><a href="#jmash.rbac.RolePermSet">RolePermSet</a></td>
                <td><p>获取当前会话角色列表和权限列表.</p></td>
              </tr>
            
              <tr>
                <td>userMenus</td>
                <td><a href="#jmash.protobuf.TenantReq">.jmash.protobuf.TenantReq</a></td>
                <td><a href="#jmash.rbac.MenuList">MenuList</a></td>
                <td><p>获取当前会话用户菜单</p></td>
              </tr>
            
              <tr>
                <td>changePwd</td>
                <td><a href="#jmash.rbac.ChangePwdReq">ChangePwdReq</a></td>
                <td><a href="#google.protobuf.BoolValue">.google.protobuf.BoolValue</a></td>
                <td><p>修改密码</p></td>
              </tr>
            
              <tr>
                <td>changePhoneEmail</td>
                <td><a href="#jmash.rbac.ChangePhoneEmailReq">ChangePhoneEmailReq</a></td>
                <td><a href="#google.protobuf.BoolValue">.google.protobuf.BoolValue</a></td>
                <td><p>更换手机号/邮箱</p></td>
              </tr>
            
              <tr>
                <td>changeWechatBind</td>
                <td><a href="#jmash.rbac.ChangeWechatBindReq">ChangeWechatBindReq</a></td>
                <td><a href="#google.protobuf.BoolValue">.google.protobuf.BoolValue</a></td>
                <td><p>更换微信用户绑定</p></td>
              </tr>
            
              <tr>
                <td>registerUser</td>
                <td><a href="#jmash.rbac.RegisterUserReq">RegisterUserReq</a></td>
                <td><a href="#jmash.rbac.TokenResp">TokenResp</a></td>
                <td><p>手机号/邮箱注册用户</p></td>
              </tr>
            
              <tr>
                <td>forgotPwd</td>
                <td><a href="#jmash.rbac.ForgotPwdReq">ForgotPwdReq</a></td>
                <td><a href="#google.protobuf.BoolValue">.google.protobuf.BoolValue</a></td>
                <td><p>忘记密码/找回密码/重置密码.</p></td>
              </tr>
            
              <tr>
                <td>runAsUser</td>
                <td><a href="#jmash.rbac.RunAsReq">RunAsReq</a></td>
                <td><a href="#jmash.rbac.UserModel">UserModel</a></td>
                <td><p>切换用户身份</p></td>
              </tr>
            
              <tr>
                <td>allowRunAsUser</td>
                <td><a href="#jmash.protobuf.TenantReq">.jmash.protobuf.TenantReq</a></td>
                <td><a href="#jmash.rbac.UserList">UserList</a></td>
                <td><p>默认可切换用户</p></td>
              </tr>
            
              <tr>
                <td>findUserPage</td>
                <td><a href="#jmash.rbac.UserReq">UserReq</a></td>
                <td><a href="#jmash.rbac.UserPage">UserPage</a></td>
                <td><p>查询翻页信息用户</p></td>
              </tr>
            
              <tr>
                <td>findUserList</td>
                <td><a href="#jmash.rbac.UserReq">UserReq</a></td>
                <td><a href="#jmash.rbac.UserList">UserList</a></td>
                <td><p>查询列表信息用户</p></td>
              </tr>
            
              <tr>
                <td>findUserById</td>
                <td><a href="#jmash.rbac.UserKey">UserKey</a></td>
                <td><a href="#jmash.rbac.UserModel">UserModel</a></td>
                <td><p>查询用户</p></td>
              </tr>
            
              <tr>
                <td>findUserByName</td>
                <td><a href="#jmash.rbac.UserNameReq">UserNameReq</a></td>
                <td><a href="#jmash.rbac.UserModel">UserModel</a></td>
                <td><p>根据用户名查询用户</p></td>
              </tr>
            
              <tr>
                <td>findUserInfoList</td>
                <td><a href="#jmash.rbac.UserReq">UserReq</a></td>
                <td><a href="#jmash.rbac.UserInfoList">UserInfoList</a></td>
                <td><p>查询用户列表</p></td>
              </tr>
            
              <tr>
                <td>findUserInfoPage</td>
                <td><a href="#jmash.rbac.UserReq">UserReq</a></td>
                <td><a href="#jmash.rbac.UserInfoPage">UserInfoPage</a></td>
                <td><p>查询用户分页</p></td>
              </tr>
            
              <tr>
                <td>createUser</td>
                <td><a href="#jmash.rbac.UserCreateReq">UserCreateReq</a></td>
                <td><a href="#jmash.rbac.UserModel">UserModel</a></td>
                <td><p>创建实体用户</p></td>
              </tr>
            
              <tr>
                <td>updateUser</td>
                <td><a href="#jmash.rbac.UserUpdateReq">UserUpdateReq</a></td>
                <td><a href="#jmash.rbac.UserModel">UserModel</a></td>
                <td><p>修改实体用户</p></td>
              </tr>
            
              <tr>
                <td>deleteUser</td>
                <td><a href="#jmash.rbac.UserKey">UserKey</a></td>
                <td><a href="#jmash.rbac.UserModel">UserModel</a></td>
                <td><p>删除用户</p></td>
              </tr>
            
              <tr>
                <td>batchDeleteUser</td>
                <td><a href="#jmash.rbac.UserKeyList">UserKeyList</a></td>
                <td><a href="#google.protobuf.Int32Value">.google.protobuf.Int32Value</a></td>
                <td><p>批量删除用户</p></td>
              </tr>
            
              <tr>
                <td>existUser</td>
                <td><a href="#jmash.rbac.VerifyUserReq">VerifyUserReq</a></td>
                <td><a href="#google.protobuf.BoolValue">.google.protobuf.BoolValue</a></td>
                <td><p>校验邮箱/手机号/用户名/是否存在</p></td>
              </tr>
            
              <tr>
                <td>batchEnableUser</td>
                <td><a href="#jmash.rbac.EnableUserReq">EnableUserReq</a></td>
                <td><a href="#google.protobuf.Int32Value">.google.protobuf.Int32Value</a></td>
                <td><p>批量启用禁用用户</p></td>
              </tr>
            
              <tr>
                <td>enableUser</td>
                <td><a href="#jmash.rbac.UserEnableKey">UserEnableKey</a></td>
                <td><a href="#google.protobuf.BoolValue">.google.protobuf.BoolValue</a></td>
                <td><p>启用禁用用户</p></td>
              </tr>
            
              <tr>
                <td>lockUser</td>
                <td><a href="#jmash.rbac.LockUserReq">LockUserReq</a></td>
                <td><a href="#google.protobuf.Int32Value">.google.protobuf.Int32Value</a></td>
                <td><p>锁定/解锁用户</p></td>
              </tr>
            
              <tr>
                <td>approvedUser</td>
                <td><a href="#jmash.rbac.ApprovedUserReq">ApprovedUserReq</a></td>
                <td><a href="#google.protobuf.Int32Value">.google.protobuf.Int32Value</a></td>
                <td><p>审核/取消审核用户</p></td>
              </tr>
            
              <tr>
                <td>assignUser</td>
                <td><a href="#jmash.rbac.UserRoleReq">UserRoleReq</a></td>
                <td><a href="#google.protobuf.Int32Value">.google.protobuf.Int32Value</a></td>
                <td><p>给用户分配角色</p></td>
              </tr>
            
              <tr>
                <td>deassignUser</td>
                <td><a href="#jmash.rbac.UserRoleReq">UserRoleReq</a></td>
                <td><a href="#google.protobuf.Int32Value">.google.protobuf.Int32Value</a></td>
                <td><p>取消用户分配角色</p></td>
              </tr>
            
              <tr>
                <td>resetPwd</td>
                <td><a href="#jmash.rbac.UserResetPwdReq">UserResetPwdReq</a></td>
                <td><a href="#google.protobuf.BoolValue">.google.protobuf.BoolValue</a></td>
                <td><p>后台用户重置密码</p></td>
              </tr>
            
              <tr>
                <td>exportUser</td>
                <td><a href="#jmash.rbac.UserExportReq">UserExportReq</a></td>
                <td><a href="#google.api.HttpBody">.google.api.HttpBody</a> stream</td>
                <td><p>导出用户</p></td>
              </tr>
            
              <tr>
                <td>printUser</td>
                <td><a href="#jmash.rbac.UserExportReq">UserExportReq</a></td>
                <td><a href="#google.api.HttpBody">.google.api.HttpBody</a> stream</td>
                <td><p>打印用户</p></td>
              </tr>
            
              <tr>
                <td>downloadUserTemplate</td>
                <td><a href="#jmash.protobuf.TenantReq">.jmash.protobuf.TenantReq</a></td>
                <td><a href="#google.api.HttpBody">.google.api.HttpBody</a> stream</td>
                <td><p>下载导入模板用户</p></td>
              </tr>
            
              <tr>
                <td>importUser</td>
                <td><a href="#jmash.rbac.UserImportReq">UserImportReq</a></td>
                <td><a href="#google.protobuf.StringValue">.google.protobuf.StringValue</a></td>
                <td><p>导入用户</p></td>
              </tr>
            
              <tr>
                <td>selectDirectoryIds</td>
                <td><a href="#jmash.protobuf.TenantReq">.jmash.protobuf.TenantReq</a></td>
                <td><a href="#jmash.rbac.DirectoryListResp">DirectoryListResp</a></td>
                <td><p>查询目录ID</p></td>
              </tr>
            
              <tr>
                <td>findModulePage</td>
                <td><a href="#jmash.rbac.ModuleReq">ModuleReq</a></td>
                <td><a href="#jmash.rbac.ModulePage">ModulePage</a></td>
                <td><p>查询翻页信息系统模块</p></td>
              </tr>
            
              <tr>
                <td>findModuleList</td>
                <td><a href="#jmash.rbac.ModuleReq">ModuleReq</a></td>
                <td><a href="#jmash.rbac.ModuleList">ModuleList</a></td>
                <td><p>查询列表信息系统模块</p></td>
              </tr>
            
              <tr>
                <td>findModuleById</td>
                <td><a href="#jmash.rbac.ModuleKey">ModuleKey</a></td>
                <td><a href="#jmash.rbac.ModuleModel">ModuleModel</a></td>
                <td><p>查询系统模块</p></td>
              </tr>
            
              <tr>
                <td>createModule</td>
                <td><a href="#jmash.rbac.ModuleCreateReq">ModuleCreateReq</a></td>
                <td><a href="#jmash.rbac.ModuleModel">ModuleModel</a></td>
                <td><p>创建实体系统模块</p></td>
              </tr>
            
              <tr>
                <td>updateModule</td>
                <td><a href="#jmash.rbac.ModuleUpdateReq">ModuleUpdateReq</a></td>
                <td><a href="#jmash.rbac.ModuleModel">ModuleModel</a></td>
                <td><p>修改实体系统模块</p></td>
              </tr>
            
              <tr>
                <td>deleteModule</td>
                <td><a href="#jmash.rbac.ModuleKey">ModuleKey</a></td>
                <td><a href="#jmash.rbac.ModuleModel">ModuleModel</a></td>
                <td><p>删除系统模块</p></td>
              </tr>
            
              <tr>
                <td>batchDeleteModule</td>
                <td><a href="#jmash.rbac.ModuleKeyList">ModuleKeyList</a></td>
                <td><a href="#google.protobuf.Int32Value">.google.protobuf.Int32Value</a></td>
                <td><p>批量删除系统模块</p></td>
              </tr>
            
              <tr>
                <td>moveModule</td>
                <td><a href="#jmash.rbac.ModuleMoveKey">ModuleMoveKey</a></td>
                <td><a href="#google.protobuf.BoolValue">.google.protobuf.BoolValue</a></td>
                <td><p>上移/下移模块</p></td>
              </tr>
            
              <tr>
                <td>checkModuleCode</td>
                <td><a href="#jmash.rbac.ModuleCheck">ModuleCheck</a></td>
                <td><a href="#google.protobuf.BoolValue">.google.protobuf.BoolValue</a></td>
                <td><p>模块编码校验</p></td>
              </tr>
            
              <tr>
                <td>findOperationPage</td>
                <td><a href="#jmash.rbac.OperationReq">OperationReq</a></td>
                <td><a href="#jmash.rbac.OperationPage">OperationPage</a></td>
                <td><p>查询翻页信息操作表</p></td>
              </tr>
            
              <tr>
                <td>findOperationList</td>
                <td><a href="#jmash.rbac.OperationReq">OperationReq</a></td>
                <td><a href="#jmash.rbac.OperationList">OperationList</a></td>
                <td><p>查询列表信息操作表</p></td>
              </tr>
            
              <tr>
                <td>findOperationById</td>
                <td><a href="#jmash.rbac.OperationKey">OperationKey</a></td>
                <td><a href="#jmash.rbac.OperationModel">OperationModel</a></td>
                <td><p>查询操作表</p></td>
              </tr>
            
              <tr>
                <td>createOperation</td>
                <td><a href="#jmash.rbac.OperationCreateReq">OperationCreateReq</a></td>
                <td><a href="#jmash.rbac.OperationModel">OperationModel</a></td>
                <td><p>创建实体操作表</p></td>
              </tr>
            
              <tr>
                <td>updateOperation</td>
                <td><a href="#jmash.rbac.OperationUpdateReq">OperationUpdateReq</a></td>
                <td><a href="#jmash.rbac.OperationModel">OperationModel</a></td>
                <td><p>修改实体操作表</p></td>
              </tr>
            
              <tr>
                <td>deleteOperation</td>
                <td><a href="#jmash.rbac.OperationKey">OperationKey</a></td>
                <td><a href="#jmash.rbac.OperationModel">OperationModel</a></td>
                <td><p>删除操作表</p></td>
              </tr>
            
              <tr>
                <td>batchDeleteOperation</td>
                <td><a href="#jmash.rbac.OperationKeyList">OperationKeyList</a></td>
                <td><a href="#google.protobuf.Int32Value">.google.protobuf.Int32Value</a></td>
                <td><p>批量删除操作表</p></td>
              </tr>
            
              <tr>
                <td>moveOperation</td>
                <td><a href="#jmash.rbac.OperationMoveKey">OperationMoveKey</a></td>
                <td><a href="#google.protobuf.BoolValue">.google.protobuf.BoolValue</a></td>
                <td><p>上移/下移操作</p></td>
              </tr>
            
              <tr>
                <td>checkOperationCode</td>
                <td><a href="#jmash.rbac.OperationCheck">OperationCheck</a></td>
                <td><a href="#google.protobuf.BoolValue">.google.protobuf.BoolValue</a></td>
                <td><p>操作编码校验</p></td>
              </tr>
            
              <tr>
                <td>findDeptList</td>
                <td><a href="#jmash.rbac.DeptReq">DeptReq</a></td>
                <td><a href="#jmash.rbac.DeptList">DeptList</a></td>
                <td><p>查询列表信息组织机构cc</p></td>
              </tr>
            
              <tr>
                <td>findDeptTreeList</td>
                <td><a href="#jmash.rbac.DeptReq">DeptReq</a></td>
                <td><a href="#jmash.protobuf.TreeList">.jmash.protobuf.TreeList</a></td>
                <td><p>查询树结构列表组织机构</p></td>
              </tr>
            
              <tr>
                <td>findDeptById</td>
                <td><a href="#jmash.rbac.DeptKey">DeptKey</a></td>
                <td><a href="#jmash.rbac.DeptModel">DeptModel</a></td>
                <td><p>查询组织机构</p></td>
              </tr>
            
              <tr>
                <td>createDept</td>
                <td><a href="#jmash.rbac.DeptCreateReq">DeptCreateReq</a></td>
                <td><a href="#jmash.rbac.DeptModel">DeptModel</a></td>
                <td><p>创建实体组织机构</p></td>
              </tr>
            
              <tr>
                <td>updateDept</td>
                <td><a href="#jmash.rbac.DeptUpdateReq">DeptUpdateReq</a></td>
                <td><a href="#jmash.rbac.DeptModel">DeptModel</a></td>
                <td><p>修改实体组织机构</p></td>
              </tr>
            
              <tr>
                <td>deleteDept</td>
                <td><a href="#jmash.rbac.DeptKey">DeptKey</a></td>
                <td><a href="#jmash.rbac.DeptModel">DeptModel</a></td>
                <td><p>删除组织机构</p></td>
              </tr>
            
              <tr>
                <td>batchDeleteDept</td>
                <td><a href="#jmash.rbac.DeptKeyList">DeptKeyList</a></td>
                <td><a href="#google.protobuf.Int32Value">.google.protobuf.Int32Value</a></td>
                <td><p>批量删除组织机构</p></td>
              </tr>
            
              <tr>
                <td>moveDept</td>
                <td><a href="#jmash.rbac.DeptMoveKey">DeptMoveKey</a></td>
                <td><a href="#google.protobuf.BoolValue">.google.protobuf.BoolValue</a></td>
                <td><p>上移/下移部门</p></td>
              </tr>
            
              <tr>
                <td>updateDeptCount</td>
                <td><a href="#jmash.rbac.DeptCountUpdateReq">DeptCountUpdateReq</a></td>
                <td><a href="#google.protobuf.BoolValue">.google.protobuf.BoolValue</a></td>
                <td><p>更新部门数.</p></td>
              </tr>
            
              <tr>
                <td>lockDept</td>
                <td><a href="#jmash.rbac.EnableDeptReq">EnableDeptReq</a></td>
                <td><a href="#google.protobuf.Int32Value">.google.protobuf.Int32Value</a></td>
                <td><p>批量启用禁用部门</p></td>
              </tr>
            
              <tr>
                <td>enableDept</td>
                <td><a href="#jmash.rbac.DeptEnableKey">DeptEnableKey</a></td>
                <td><a href="#google.protobuf.BoolValue">.google.protobuf.BoolValue</a></td>
                <td><p>启用禁用部门</p></td>
              </tr>
            
              <tr>
                <td>downloadDept</td>
                <td><a href="#jmash.protobuf.TenantReq">.jmash.protobuf.TenantReq</a></td>
                <td><a href="#google.api.HttpBody">.google.api.HttpBody</a> stream</td>
                <td><p>下载导入模板组织机构</p></td>
              </tr>
            
              <tr>
                <td>importDept</td>
                <td><a href="#jmash.rbac.DeptImportReq">DeptImportReq</a></td>
                <td><a href="#google.protobuf.StringValue">.google.protobuf.StringValue</a></td>
                <td><p>导入组织机构</p></td>
              </tr>
            
              <tr>
                <td>exportDept</td>
                <td><a href="#jmash.rbac.DeptExportReq">DeptExportReq</a></td>
                <td><a href="#google.api.HttpBody">.google.api.HttpBody</a> stream</td>
                <td><p>导出组织机构</p></td>
              </tr>
            
              <tr>
                <td>findLogPage</td>
                <td><a href="#jmash.rbac.LogReq">LogReq</a></td>
                <td><a href="#jmash.rbac.LogPage">LogPage</a></td>
                <td><p>查询翻页信息操作日志</p></td>
              </tr>
            
              <tr>
                <td>findLogList</td>
                <td><a href="#jmash.rbac.LogReq">LogReq</a></td>
                <td><a href="#jmash.rbac.LogList">LogList</a></td>
                <td><p>查询列表信息操作日志</p></td>
              </tr>
            
              <tr>
                <td>findLogById</td>
                <td><a href="#jmash.rbac.LogKey">LogKey</a></td>
                <td><a href="#jmash.rbac.LogModel">LogModel</a></td>
                <td><p>查询操作日志</p></td>
              </tr>
            
              <tr>
                <td>deleteLog</td>
                <td><a href="#jmash.rbac.LogDelReq">LogDelReq</a></td>
                <td><a href="#google.protobuf.Int32Value">.google.protobuf.Int32Value</a></td>
                <td><p>删除安全日志</p></td>
              </tr>
            
              <tr>
                <td>selectUserInfo</td>
                <td><a href="#jmash.rbac.UserKey">UserKey</a></td>
                <td><a href="#jmash.rbac.UserDeptJobInfoRes">UserDeptJobInfoRes</a></td>
                <td><p>查询用户部门岗位信息</p></td>
              </tr>
            
              <tr>
                <td>exportLog</td>
                <td><a href="#jmash.rbac.LogExportReq">LogExportReq</a></td>
                <td><a href="#google.api.HttpBody">.google.api.HttpBody</a> stream</td>
                <td><p>导出操作日志</p></td>
              </tr>
            
              <tr>
                <td>findOpensList</td>
                <td><a href="#jmash.rbac.OpensReq">OpensReq</a></td>
                <td><a href="#jmash.rbac.OpensList">OpensList</a></td>
                <td><p>查询列表信息三方登录</p></td>
              </tr>
            
              <tr>
                <td>findOpensById</td>
                <td><a href="#jmash.rbac.OpensKey">OpensKey</a></td>
                <td><a href="#jmash.rbac.OpensModel">OpensModel</a></td>
                <td><p>查询三方登录</p></td>
              </tr>
            
              <tr>
                <td>deleteOpens</td>
                <td><a href="#jmash.rbac.OpensKey">OpensKey</a></td>
                <td><a href="#jmash.rbac.OpensModel">OpensModel</a></td>
                <td><p>解绑三方登录</p></td>
              </tr>
            
              <tr>
                <td>findOpensUnionId</td>
                <td><a href="#jmash.rbac.UserOpensReq">UserOpensReq</a></td>
                <td><a href="#jmash.rbac.UnionIdList">UnionIdList</a></td>
                <td><p>查询用户开放平台绑定UnionId</p></td>
              </tr>
            
              <tr>
                <td>findMyOpensUnionId</td>
                <td><a href="#jmash.protobuf.TenantReq">.jmash.protobuf.TenantReq</a></td>
                <td><a href="#jmash.rbac.UnionIdList">UnionIdList</a></td>
                <td><p>查询我的开放平台绑定UnionId</p></td>
              </tr>
            
              <tr>
                <td>findOpenAppPage</td>
                <td><a href="#jmash.rbac.OpenAppReq">OpenAppReq</a></td>
                <td><a href="#jmash.rbac.OpenAppPage">OpenAppPage</a></td>
                <td><p>查询翻页信息开发平台应用</p></td>
              </tr>
            
              <tr>
                <td>findOpenAppList</td>
                <td><a href="#jmash.rbac.OpenAppReq">OpenAppReq</a></td>
                <td><a href="#jmash.rbac.OpenAppList">OpenAppList</a></td>
                <td><p>查询列表信息开发平台应用</p></td>
              </tr>
            
              <tr>
                <td>findOpenAppById</td>
                <td><a href="#jmash.rbac.OpenAppKey">OpenAppKey</a></td>
                <td><a href="#jmash.rbac.OpenAppModel">OpenAppModel</a></td>
                <td><p>查询开发平台应用</p></td>
              </tr>
            
              <tr>
                <td>createOpenApp</td>
                <td><a href="#jmash.rbac.OpenAppCreateReq">OpenAppCreateReq</a></td>
                <td><a href="#jmash.rbac.OpenAppModel">OpenAppModel</a></td>
                <td><p>创建实体开发平台应用</p></td>
              </tr>
            
              <tr>
                <td>updateOpenApp</td>
                <td><a href="#jmash.rbac.OpenAppUpdateReq">OpenAppUpdateReq</a></td>
                <td><a href="#jmash.rbac.OpenAppModel">OpenAppModel</a></td>
                <td><p>修改实体开发平台应用</p></td>
              </tr>
            
              <tr>
                <td>deleteOpenApp</td>
                <td><a href="#jmash.rbac.OpenAppKey">OpenAppKey</a></td>
                <td><a href="#jmash.rbac.OpenAppModel">OpenAppModel</a></td>
                <td><p>删除开发平台应用</p></td>
              </tr>
            
              <tr>
                <td>batchDeleteOpenApp</td>
                <td><a href="#jmash.rbac.OpenAppKeyList">OpenAppKeyList</a></td>
                <td><a href="#google.protobuf.Int32Value">.google.protobuf.Int32Value</a></td>
                <td><p>批量删除开发平台应用</p></td>
              </tr>
            
              <tr>
                <td>findPermPage</td>
                <td><a href="#jmash.rbac.PermReq">PermReq</a></td>
                <td><a href="#jmash.rbac.PermPage">PermPage</a></td>
                <td><p>查询翻页信息权限表</p></td>
              </tr>
            
              <tr>
                <td>findPermList</td>
                <td><a href="#jmash.rbac.PermReq">PermReq</a></td>
                <td><a href="#jmash.rbac.PermList">PermList</a></td>
                <td><p>查询列表信息权限表</p></td>
              </tr>
            
              <tr>
                <td>findResourcePermList</td>
                <td><a href="#jmash.rbac.ResourceReq">ResourceReq</a></td>
                <td><a href="#jmash.rbac.ResourcePermList">ResourcePermList</a></td>
                <td><p>查询资源权限新信息</p></td>
              </tr>
            
              <tr>
                <td>findPermById</td>
                <td><a href="#jmash.rbac.PermKey">PermKey</a></td>
                <td><a href="#jmash.rbac.PermModel">PermModel</a></td>
                <td><p>查询权限表</p></td>
              </tr>
            
              <tr>
                <td>createPerm</td>
                <td><a href="#jmash.rbac.PermCreateReq">PermCreateReq</a></td>
                <td><a href="#jmash.rbac.PermModel">PermModel</a></td>
                <td><p>创建实体权限表</p></td>
              </tr>
            
              <tr>
                <td>updatePerm</td>
                <td><a href="#jmash.rbac.PermUpdateReq">PermUpdateReq</a></td>
                <td><a href="#jmash.rbac.PermModel">PermModel</a></td>
                <td><p>修改实体权限表</p></td>
              </tr>
            
              <tr>
                <td>deletePerm</td>
                <td><a href="#jmash.rbac.PermKey">PermKey</a></td>
                <td><a href="#jmash.rbac.PermModel">PermModel</a></td>
                <td><p>删除权限表</p></td>
              </tr>
            
              <tr>
                <td>batchDeletePerm</td>
                <td><a href="#jmash.rbac.PermKeyList">PermKeyList</a></td>
                <td><a href="#google.protobuf.Int32Value">.google.protobuf.Int32Value</a></td>
                <td><p>批量删除权限表</p></td>
              </tr>
            
              <tr>
                <td>checkPermCode</td>
                <td><a href="#jmash.rbac.PermCheck">PermCheck</a></td>
                <td><a href="#google.protobuf.BoolValue">.google.protobuf.BoolValue</a></td>
                <td><p>权限编码校验</p></td>
              </tr>
            
              <tr>
                <td>findResourceList</td>
                <td><a href="#jmash.rbac.ResourceReq">ResourceReq</a></td>
                <td><a href="#jmash.rbac.ResourceList">ResourceList</a></td>
                <td><p>查询列表信息资源表</p></td>
              </tr>
            
              <tr>
                <td>findResourceTreeList</td>
                <td><a href="#jmash.rbac.ResourceReq">ResourceReq</a></td>
                <td><a href="#jmash.protobuf.TreeList">.jmash.protobuf.TreeList</a></td>
                <td><p>查询资源树级结构</p></td>
              </tr>
            
              <tr>
                <td>findResourceById</td>
                <td><a href="#jmash.rbac.ResourceKey">ResourceKey</a></td>
                <td><a href="#jmash.rbac.ResourceModel">ResourceModel</a></td>
                <td><p>查询资源表</p></td>
              </tr>
            
              <tr>
                <td>createResource</td>
                <td><a href="#jmash.rbac.ResourceCreateReq">ResourceCreateReq</a></td>
                <td><a href="#jmash.rbac.ResourceModel">ResourceModel</a></td>
                <td><p>创建实体资源表</p></td>
              </tr>
            
              <tr>
                <td>updateResource</td>
                <td><a href="#jmash.rbac.ResourceUpdateReq">ResourceUpdateReq</a></td>
                <td><a href="#jmash.rbac.ResourceModel">ResourceModel</a></td>
                <td><p>修改实体资源表</p></td>
              </tr>
            
              <tr>
                <td>deleteResource</td>
                <td><a href="#jmash.rbac.ResourceKey">ResourceKey</a></td>
                <td><a href="#jmash.rbac.ResourceModel">ResourceModel</a></td>
                <td><p>删除资源表</p></td>
              </tr>
            
              <tr>
                <td>batchDeleteResource</td>
                <td><a href="#jmash.rbac.ResourceKeyList">ResourceKeyList</a></td>
                <td><a href="#google.protobuf.Int32Value">.google.protobuf.Int32Value</a></td>
                <td><p>批量删除资源表</p></td>
              </tr>
            
              <tr>
                <td>downloadResource</td>
                <td><a href="#jmash.rbac.ResourceExportReq">ResourceExportReq</a></td>
                <td><a href="#google.api.HttpBody">.google.api.HttpBody</a> stream</td>
                <td><p>下载导入资源</p></td>
              </tr>
            
              <tr>
                <td>importResource</td>
                <td><a href="#jmash.rbac.ResourceImportReq">ResourceImportReq</a></td>
                <td><a href="#google.protobuf.StringValue">.google.protobuf.StringValue</a></td>
                <td><p>导入资源表</p></td>
              </tr>
            
              <tr>
                <td>exportResource</td>
                <td><a href="#jmash.rbac.ResourceExportReq">ResourceExportReq</a></td>
                <td><a href="#google.api.HttpBody">.google.api.HttpBody</a> stream</td>
                <td><p>导出资源表</p></td>
              </tr>
            
              <tr>
                <td>existResource</td>
                <td><a href="#jmash.rbac.VerifyResourceReq">VerifyResourceReq</a></td>
                <td><a href="#google.protobuf.BoolValue">.google.protobuf.BoolValue</a></td>
                <td><p>校验资源</p></td>
              </tr>
            
              <tr>
                <td>moveResouce</td>
                <td><a href="#jmash.rbac.ResourceMoveKey">ResourceMoveKey</a></td>
                <td><a href="#google.protobuf.BoolValue">.google.protobuf.BoolValue</a></td>
                <td><p>上移/下移</p></td>
              </tr>
            
              <tr>
                <td>findRoleList</td>
                <td><a href="#jmash.rbac.RoleReq">RoleReq</a></td>
                <td><a href="#jmash.rbac.RoleList">RoleList</a></td>
                <td><p>查询列表信息角色/职务表</p></td>
              </tr>
            
              <tr>
                <td>findRoleDetailList</td>
                <td><a href="#jmash.rbac.RoleDetailReq">RoleDetailReq</a></td>
                <td><a href="#jmash.rbac.RoleList">RoleList</a></td>
                <td><p>查询列表信息角色/职务表，返回带权限编码数据</p></td>
              </tr>
            
              <tr>
                <td>findRoleTreeList</td>
                <td><a href="#jmash.rbac.RoleReq">RoleReq</a></td>
                <td><a href="#jmash.protobuf.TreeList">.jmash.protobuf.TreeList</a></td>
                <td><p>查询列表信息角色/职务表</p></td>
              </tr>
            
              <tr>
                <td>findRoleById</td>
                <td><a href="#jmash.rbac.RoleKey">RoleKey</a></td>
                <td><a href="#jmash.rbac.RoleModel">RoleModel</a></td>
                <td><p>查询角色/职务表</p></td>
              </tr>
            
              <tr>
                <td>createRole</td>
                <td><a href="#jmash.rbac.RoleCreateReq">RoleCreateReq</a></td>
                <td><a href="#jmash.rbac.RoleModel">RoleModel</a></td>
                <td><p>创建实体角色/职务表</p></td>
              </tr>
            
              <tr>
                <td>updateRole</td>
                <td><a href="#jmash.rbac.RoleUpdateReq">RoleUpdateReq</a></td>
                <td><a href="#jmash.rbac.RoleModel">RoleModel</a></td>
                <td><p>修改实体角色/职务表</p></td>
              </tr>
            
              <tr>
                <td>deleteRole</td>
                <td><a href="#jmash.rbac.RoleKey">RoleKey</a></td>
                <td><a href="#jmash.rbac.RoleModel">RoleModel</a></td>
                <td><p>删除角色/职务表</p></td>
              </tr>
            
              <tr>
                <td>batchDeleteRole</td>
                <td><a href="#jmash.rbac.RoleKeyList">RoleKeyList</a></td>
                <td><a href="#google.protobuf.Int32Value">.google.protobuf.Int32Value</a></td>
                <td><p>批量删除角色/职务表</p></td>
              </tr>
            
              <tr>
                <td>grantPerm</td>
                <td><a href="#jmash.rbac.RolePermReq">RolePermReq</a></td>
                <td><a href="#google.protobuf.Int32Value">.google.protobuf.Int32Value</a></td>
                <td><p>角色授予权限.</p></td>
              </tr>
            
              <tr>
                <td>revokePerm</td>
                <td><a href="#jmash.rbac.RolePermReq">RolePermReq</a></td>
                <td><a href="#google.protobuf.Int32Value">.google.protobuf.Int32Value</a></td>
                <td><p>取消角色授予权限.</p></td>
              </tr>
            
              <tr>
                <td>moveRole</td>
                <td><a href="#jmash.rbac.RoleMoveKey">RoleMoveKey</a></td>
                <td><a href="#google.protobuf.BoolValue">.google.protobuf.BoolValue</a></td>
                <td><p>上移/下移角色</p></td>
              </tr>
            
              <tr>
                <td>existRole</td>
                <td><a href="#jmash.rbac.VerifyRoleReq">VerifyRoleReq</a></td>
                <td><a href="#google.protobuf.BoolValue">.google.protobuf.BoolValue</a></td>
                <td><p>校验角色</p></td>
              </tr>
            
              <tr>
                <td>findUserLogPage</td>
                <td><a href="#jmash.rbac.UserLogReq">UserLogReq</a></td>
                <td><a href="#jmash.rbac.UserLogPage">UserLogPage</a></td>
                <td><p>查询翻页信息安全日志</p></td>
              </tr>
            
              <tr>
                <td>findUserLogList</td>
                <td><a href="#jmash.rbac.UserLogReq">UserLogReq</a></td>
                <td><a href="#jmash.rbac.UserLogList">UserLogList</a></td>
                <td><p>查询列表信息安全日志</p></td>
              </tr>
            
              <tr>
                <td>findUserLogById</td>
                <td><a href="#jmash.rbac.UserLogKey">UserLogKey</a></td>
                <td><a href="#jmash.rbac.UserLogModel">UserLogModel</a></td>
                <td><p>查询安全日志</p></td>
              </tr>
            
              <tr>
                <td>deleteUserLog</td>
                <td><a href="#jmash.rbac.UserLogDelReq">UserLogDelReq</a></td>
                <td><a href="#google.protobuf.Int32Value">.google.protobuf.Int32Value</a></td>
                <td><p>删除安全日志</p></td>
              </tr>
            
              <tr>
                <td>exportUserLog</td>
                <td><a href="#jmash.rbac.UserLogExportReq">UserLogExportReq</a></td>
                <td><a href="#google.api.HttpBody">.google.api.HttpBody</a> stream</td>
                <td><p>导出安全日志</p></td>
              </tr>
            
              <tr>
                <td>getUserDeptInfo</td>
                <td><a href="#jmash.rbac.UserKey">UserKey</a></td>
                <td><a href="#jmash.rbac.UserDeptJobInfoRes">UserDeptJobInfoRes</a></td>
                <td><p>日志获取用户信息.</p></td>
              </tr>
            
              <tr>
                <td>miniAppLogin</td>
                <td><a href="#jmash.rbac.MiniAppLoginReq">MiniAppLoginReq</a></td>
                <td><a href="#jmash.rbac.MiniAppLoginResp">MiniAppLoginResp</a></td>
                <td><p>小程序授权登录</p></td>
              </tr>
            
              <tr>
                <td>miniAppPhoneNumber</td>
                <td><a href="#jmash.rbac.MiniAppPhoneNumberReq">MiniAppPhoneNumberReq</a></td>
                <td><a href="#jmash.rbac.MiniAppLoginResp">MiniAppLoginResp</a></td>
                <td><p>获取微信小程序手机号</p></td>
              </tr>
            
              <tr>
                <td>miniAppBindPhone</td>
                <td><a href="#jmash.rbac.MiniAppBindPhoneReq">MiniAppBindPhoneReq</a></td>
                <td><a href="#google.protobuf.BoolValue">.google.protobuf.BoolValue</a></td>
                <td><p>已登录状态小程序更换绑定手机号</p></td>
              </tr>
            
              <tr>
                <td>addOrganUser</td>
                <td><a href="#jmash.rbac.OrganUserAddReq">OrganUserAddReq</a></td>
                <td><a href="#jmash.rbac.UserModel">UserModel</a></td>
                <td><p>新增平台组织用户.</p></td>
              </tr>
            
              <tr>
                <td>loginOrgan</td>
                <td><a href="#google.protobuf.StringValue">.google.protobuf.StringValue</a></td>
                <td><a href="#jmash.rbac.TokenResp">TokenResp</a></td>
                <td><p>登录组织，用户Token换组织用户Token，参数：组织token值 organID@e01.</p></td>
              </tr>
            
              <tr>
                <td>createOrganUser</td>
                <td><a href="#jmash.rbac.OrganUserCreateReq">OrganUserCreateReq</a></td>
                <td><a href="#jmash.rbac.UserModel">UserModel</a></td>
                <td><p>创建组织用户.</p></td>
              </tr>
            
              <tr>
                <td>createUserByQrcode</td>
                <td><a href="#jmash.rbac.ScanCodeCreateUserReq">ScanCodeCreateUserReq</a></td>
                <td><a href="#jmash.rbac.TokenResp">TokenResp</a></td>
                <td><p>扫码创建用户.</p></td>
              </tr>
            
              <tr>
                <td>mobileAppLogin</td>
                <td><a href="#jmash.rbac.MobileAppLoginReq">MobileAppLoginReq</a></td>
                <td><a href="#jmash.rbac.MobileAppLoginResp">MobileAppLoginResp</a></td>
                <td><p>移动App微信登录</p></td>
              </tr>
            
              <tr>
                <td>mobileAppLoginBindPhone</td>
                <td><a href="#jmash.rbac.MobileAppLoginBindPhoneReq">MobileAppLoginBindPhoneReq</a></td>
                <td><a href="#jmash.rbac.MobileAppLoginResp">MobileAppLoginResp</a></td>
                <td><p>移动App微信登录绑定手机号</p></td>
              </tr>
            
              <tr>
                <td>loginGzhAuthUrl</td>
                <td><a href="#jmash.rbac.LoginGzhAuthUrlReq">LoginGzhAuthUrlReq</a></td>
                <td><a href="#google.protobuf.StringValue">.google.protobuf.StringValue</a></td>
                <td><p>获取公众号认证Url请求.</p></td>
              </tr>
            
              <tr>
                <td>loginGzhAuth</td>
                <td><a href="#jmash.rbac.LoginGzhAuthReq">LoginGzhAuthReq</a></td>
                <td><a href="#jmash.rbac.LoginGzhAuthResp">LoginGzhAuthResp</a></td>
                <td><p>静默登录公众号.</p></td>
              </tr>
            
              <tr>
                <td>loginGzhRegister</td>
                <td><a href="#jmash.rbac.LoginGzhRegisterReq">LoginGzhRegisterReq</a></td>
                <td><a href="#jmash.rbac.LoginGzhRegisterResp">LoginGzhRegisterResp</a></td>
                <td><p>公众号用户注册登录.</p></td>
              </tr>
            
              <tr>
                <td>loginAliAuth</td>
                <td><a href="#jmash.rbac.LoginAliAuthReq">LoginAliAuthReq</a></td>
                <td><a href="#jmash.rbac.LoginTokenResp">LoginTokenResp</a></td>
                <td><p>静默登录阿里支付宝.</p></td>
              </tr>
            
              <tr>
                <td>loginAliRegister</td>
                <td><a href="#jmash.rbac.LoginAliRegisterReq">LoginAliRegisterReq</a></td>
                <td><a href="#jmash.rbac.LoginTokenResp">LoginTokenResp</a></td>
                <td><p>支付宝公众号用户注册登录.</p></td>
              </tr>
            
              <tr>
                <td>loginUnionPayAuth</td>
                <td><a href="#jmash.rbac.LoginUnionPayReq">LoginUnionPayReq</a></td>
                <td><a href="#jmash.rbac.LoginTokenResp">LoginTokenResp</a></td>
                <td><p>静默登录云闪付小程序.</p></td>
              </tr>
            
              <tr>
                <td>loginUnionPayRegister</td>
                <td><a href="#jmash.rbac.LoginUnionPayRegisterReq">LoginUnionPayRegisterReq</a></td>
                <td><a href="#jmash.rbac.LoginTokenResp">LoginTokenResp</a></td>
                <td><p>云闪付小程序用户注册登录.</p></td>
              </tr>
            
              <tr>
                <td>appendRolePerm</td>
                <td><a href="#jmash.rbac.AppendRolePermReq">AppendRolePermReq</a></td>
                <td><a href="#google.protobuf.BoolValue">.google.protobuf.BoolValue</a></td>
                <td><p>角色追加权限编码，模块之间调用.</p></td>
              </tr>
            
              <tr>
                <td>checkGzhSubscribe</td>
                <td><a href="#jmash.rbac.GzhSubscribeCheckReq">GzhSubscribeCheckReq</a></td>
                <td><a href="#google.protobuf.BoolValue">.google.protobuf.BoolValue</a></td>
                <td><p>判断当前用户是否关注某公众号</p></td>
              </tr>
            
              <tr>
                <td>loginApp</td>
                <td><a href="#jmash.rbac.LoginAppReq">LoginAppReq</a></td>
                <td><a href="#jmash.rbac.LoginTokenResp">LoginTokenResp</a></td>
                <td><p>应用客户端登录.</p></td>
              </tr>
            
          </tbody>
        </table>

        
          
          
          <h4>Methods with HTTP bindings</h4>
          <table>
            <thead>
              <tr>
                <td>Method Name</td>
                <td>Method</td>
                <td>Pattern</td>
                <td>Body</td>
              </tr>
            </thead>
            <tbody>
            
              
              
              <tr>
                <td>version</td>
                <td>GET</td>
                <td>/v1/rbac/version</td>
                <td></td>
              </tr>
              
            
              
              
              <tr>
                <td>findEnumEntry</td>
                <td>GET</td>
                <td>/v1/rbac/enum/entry</td>
                <td></td>
              </tr>
              
            
              
              
              <tr>
                <td>login</td>
                <td>POST</td>
                <td>/v1/rbac/auth/login</td>
                <td>*</td>
              </tr>
              
            
              
              
              <tr>
                <td>loginByQrcode</td>
                <td>POST</td>
                <td>/v1/rbac/auth/login_qrcode</td>
                <td>*</td>
              </tr>
              
            
              
              
              <tr>
                <td>sendValidCode</td>
                <td>POST</td>
                <td>/v1/rbac/auth/sendcode</td>
                <td>*</td>
              </tr>
              
            
              
              
              <tr>
                <td>loginByValidCode</td>
                <td>POST</td>
                <td>/v1/rbac/auth/logincode</td>
                <td>*</td>
              </tr>
              
            
              
              
              <tr>
                <td>selectDsdRoles</td>
                <td>GET</td>
                <td>/v1/rbac/auth/select_dsd_roles</td>
                <td></td>
              </tr>
              
            
              
              
              <tr>
                <td>logout</td>
                <td>DELETE</td>
                <td>/v1/rbac/auth/logout</td>
                <td></td>
              </tr>
              
            
              
              
              <tr>
                <td>refreshToken</td>
                <td>POST</td>
                <td>/v1/rbac/auth/refresh_token</td>
                <td>*</td>
              </tr>
              
              <tr>
                <td>refreshToken</td>
                <td>POST</td>
                <td>/v1/front/rbac/auth/refresh_token</td>
                <td>*</td>
              </tr>
              
            
              
              
              <tr>
                <td>userInfo</td>
                <td>GET</td>
                <td>/v1/rbac/auth/user</td>
                <td></td>
              </tr>
              
              <tr>
                <td>userInfo</td>
                <td>GET</td>
                <td>/v1/front/rbac/auth/user</td>
                <td></td>
              </tr>
              
            
              
              
              <tr>
                <td>updateUserInfo</td>
                <td>PATCH</td>
                <td>/v1/rbac/auth/user</td>
                <td>*</td>
              </tr>
              
            
              
              
              <tr>
                <td>userRolesPerms</td>
                <td>GET</td>
                <td>/v1/rbac/auth/roles_perms</td>
                <td></td>
              </tr>
              
            
              
              
              <tr>
                <td>userMenus</td>
                <td>GET</td>
                <td>/v1/rbac/auth/menus</td>
                <td></td>
              </tr>
              
            
              
              
              <tr>
                <td>changePwd</td>
                <td>PATCH</td>
                <td>/v1/rbac/auth/change_pwd</td>
                <td>*</td>
              </tr>
              
            
              
              
              <tr>
                <td>changePhoneEmail</td>
                <td>POST</td>
                <td>/v1/rbac/change/phone_email</td>
                <td>*</td>
              </tr>
              
            
              
              
              <tr>
                <td>changeWechatBind</td>
                <td>POST</td>
                <td>/v1/rbac/change/wechat_bind</td>
                <td>*</td>
              </tr>
              
            
              
              
              <tr>
                <td>registerUser</td>
                <td>POST</td>
                <td>/v1/rbac/register/phone_email</td>
                <td>*</td>
              </tr>
              
            
              
              
              <tr>
                <td>forgotPwd</td>
                <td>POST</td>
                <td>/v1/rbac/forgot/phone_email</td>
                <td>*</td>
              </tr>
              
            
              
              
              <tr>
                <td>runAsUser</td>
                <td>POST</td>
                <td>/v1/rbac/auth/run_as</td>
                <td>*</td>
              </tr>
              
            
              
              
              <tr>
                <td>allowRunAsUser</td>
                <td>GET</td>
                <td>/v1/rbac/auth/allow_run_as_user</td>
                <td></td>
              </tr>
              
            
              
              
              <tr>
                <td>findUserPage</td>
                <td>GET</td>
                <td>/v1/rbac/user/page</td>
                <td></td>
              </tr>
              
            
              
              
              <tr>
                <td>findUserList</td>
                <td>GET</td>
                <td>/v1/rbac/user/list</td>
                <td></td>
              </tr>
              
            
              
              
              <tr>
                <td>findUserById</td>
                <td>GET</td>
                <td>/v1/rbac/user/id</td>
                <td></td>
              </tr>
              
            
              
              
              <tr>
                <td>findUserByName</td>
                <td>GET</td>
                <td>/v1/rbac/user/name</td>
                <td></td>
              </tr>
              
            
              
              
              <tr>
                <td>findUserInfoList</td>
                <td>GET</td>
                <td>/v1/rbac/user/list_user</td>
                <td></td>
              </tr>
              
            
              
              
              <tr>
                <td>findUserInfoPage</td>
                <td>GET</td>
                <td>/v1/rbac/user/page_user</td>
                <td></td>
              </tr>
              
            
              
              
              <tr>
                <td>createUser</td>
                <td>POST</td>
                <td>/v1/rbac/user</td>
                <td>*</td>
              </tr>
              
            
              
              
              <tr>
                <td>updateUser</td>
                <td>PATCH</td>
                <td>/v1/rbac/user</td>
                <td>*</td>
              </tr>
              
            
              
              
              <tr>
                <td>deleteUser</td>
                <td>DELETE</td>
                <td>/v1/rbac/user/id</td>
                <td></td>
              </tr>
              
            
              
              
              <tr>
                <td>batchDeleteUser</td>
                <td>PUT</td>
                <td>/v1/rbac/user/batch</td>
                <td>*</td>
              </tr>
              
            
              
              
              <tr>
                <td>existUser</td>
                <td>GET</td>
                <td>/v1/rbac/user/exist</td>
                <td></td>
              </tr>
              
            
              
              
              <tr>
                <td>batchEnableUser</td>
                <td>PUT</td>
                <td>/v1/rbac/user/batch_enable</td>
                <td>*</td>
              </tr>
              
            
              
              
              <tr>
                <td>enableUser</td>
                <td>PUT</td>
                <td>/v1/rbac/user/enable</td>
                <td>*</td>
              </tr>
              
            
              
              
              <tr>
                <td>lockUser</td>
                <td>PUT</td>
                <td>/v1/rbac/user/lock</td>
                <td>*</td>
              </tr>
              
            
              
              
              <tr>
                <td>approvedUser</td>
                <td>PUT</td>
                <td>/v1/rbac/user/approved</td>
                <td>*</td>
              </tr>
              
            
              
              
              <tr>
                <td>assignUser</td>
                <td>PATCH</td>
                <td>/v1/rbac/user/assign</td>
                <td>*</td>
              </tr>
              
            
              
              
              <tr>
                <td>deassignUser</td>
                <td>PATCH</td>
                <td>/v1/rbac/user/deassign</td>
                <td>*</td>
              </tr>
              
            
              
              
              <tr>
                <td>resetPwd</td>
                <td>PUT</td>
                <td>/v1/rbac/user/resetpwd</td>
                <td>*</td>
              </tr>
              
            
              
              
              <tr>
                <td>exportUser</td>
                <td>GET</td>
                <td>/v1/rbac/user/{tenant}/users.xlsx</td>
                <td></td>
              </tr>
              
            
              
              
              <tr>
                <td>printUser</td>
                <td>GET</td>
                <td>/v1/rbac/user/{tenant}/users.pdf</td>
                <td></td>
              </tr>
              
            
              
              
              <tr>
                <td>downloadUserTemplate</td>
                <td>GET</td>
                <td>/v1/rbac/user/template.xlsx</td>
                <td></td>
              </tr>
              
            
              
              
              <tr>
                <td>importUser</td>
                <td>PATCH</td>
                <td>/v1/rbac/user/import</td>
                <td>*</td>
              </tr>
              
            
              
              
              <tr>
                <td>selectDirectoryIds</td>
                <td>GET</td>
                <td>/v1/rbac/user/select_directory_id</td>
                <td></td>
              </tr>
              
            
              
              
              <tr>
                <td>findModulePage</td>
                <td>GET</td>
                <td>/v1/rbac/module/page</td>
                <td></td>
              </tr>
              
            
              
              
              <tr>
                <td>findModuleList</td>
                <td>GET</td>
                <td>/v1/rbac/module/list</td>
                <td></td>
              </tr>
              
            
              
              
              <tr>
                <td>findModuleById</td>
                <td>GET</td>
                <td>/v1/rbac/module/id</td>
                <td></td>
              </tr>
              
            
              
              
              <tr>
                <td>createModule</td>
                <td>POST</td>
                <td>/v1/rbac/module</td>
                <td>*</td>
              </tr>
              
            
              
              
              <tr>
                <td>updateModule</td>
                <td>PATCH</td>
                <td>/v1/rbac/module</td>
                <td>*</td>
              </tr>
              
            
              
              
              <tr>
                <td>deleteModule</td>
                <td>DELETE</td>
                <td>/v1/rbac/module/id</td>
                <td></td>
              </tr>
              
            
              
              
              <tr>
                <td>batchDeleteModule</td>
                <td>PUT</td>
                <td>/v1/rbac/module/batch</td>
                <td>*</td>
              </tr>
              
            
              
              
              <tr>
                <td>moveModule</td>
                <td>PUT</td>
                <td>/v1/rbac/module/move</td>
                <td>*</td>
              </tr>
              
            
              
              
              <tr>
                <td>checkModuleCode</td>
                <td>GET</td>
                <td>/v1/rbac/module/check</td>
                <td></td>
              </tr>
              
            
              
              
              <tr>
                <td>findOperationPage</td>
                <td>GET</td>
                <td>/v1/rbac/operation/page</td>
                <td></td>
              </tr>
              
            
              
              
              <tr>
                <td>findOperationList</td>
                <td>GET</td>
                <td>/v1/rbac/operation/list</td>
                <td></td>
              </tr>
              
            
              
              
              <tr>
                <td>findOperationById</td>
                <td>GET</td>
                <td>/v1/rbac/operation/id</td>
                <td></td>
              </tr>
              
            
              
              
              <tr>
                <td>createOperation</td>
                <td>POST</td>
                <td>/v1/rbac/operation</td>
                <td>*</td>
              </tr>
              
            
              
              
              <tr>
                <td>updateOperation</td>
                <td>PATCH</td>
                <td>/v1/rbac/operation</td>
                <td>*</td>
              </tr>
              
            
              
              
              <tr>
                <td>deleteOperation</td>
                <td>DELETE</td>
                <td>/v1/rbac/operation/id</td>
                <td></td>
              </tr>
              
            
              
              
              <tr>
                <td>batchDeleteOperation</td>
                <td>PUT</td>
                <td>/v1/rbac/operation/batch</td>
                <td>*</td>
              </tr>
              
            
              
              
              <tr>
                <td>moveOperation</td>
                <td>PUT</td>
                <td>/v1/rbac/operation/move</td>
                <td>*</td>
              </tr>
              
            
              
              
              <tr>
                <td>checkOperationCode</td>
                <td>GET</td>
                <td>/v1/rbac/operation/check</td>
                <td></td>
              </tr>
              
            
              
              
              <tr>
                <td>findDeptList</td>
                <td>GET</td>
                <td>/v1/rbac/dept/list</td>
                <td></td>
              </tr>
              
              <tr>
                <td>findDeptList</td>
                <td>GET</td>
                <td>/v1/front/rbac/dept/list</td>
                <td></td>
              </tr>
              
            
              
              
              <tr>
                <td>findDeptTreeList</td>
                <td>GET</td>
                <td>/v1/rbac/dept/treelist</td>
                <td></td>
              </tr>
              
              <tr>
                <td>findDeptTreeList</td>
                <td>GET</td>
                <td>/v1/front/rbac/dept/treelist</td>
                <td></td>
              </tr>
              
            
              
              
              <tr>
                <td>findDeptById</td>
                <td>GET</td>
                <td>/v1/rbac/dept/id</td>
                <td></td>
              </tr>
              
            
              
              
              <tr>
                <td>createDept</td>
                <td>POST</td>
                <td>/v1/rbac/dept</td>
                <td>*</td>
              </tr>
              
            
              
              
              <tr>
                <td>updateDept</td>
                <td>PATCH</td>
                <td>/v1/rbac/dept</td>
                <td>*</td>
              </tr>
              
            
              
              
              <tr>
                <td>deleteDept</td>
                <td>DELETE</td>
                <td>/v1/rbac/dept/id</td>
                <td></td>
              </tr>
              
            
              
              
              <tr>
                <td>batchDeleteDept</td>
                <td>PUT</td>
                <td>/v1/rbac/dept/batch</td>
                <td>*</td>
              </tr>
              
            
              
              
              <tr>
                <td>moveDept</td>
                <td>PUT</td>
                <td>/v1/rbac/dept/move</td>
                <td>*</td>
              </tr>
              
            
              
              
              <tr>
                <td>lockDept</td>
                <td>PUT</td>
                <td>/v1/rbac/dept/lock</td>
                <td>*</td>
              </tr>
              
            
              
              
              <tr>
                <td>enableDept</td>
                <td>PUT</td>
                <td>/v1/rbac/dept/enable</td>
                <td>*</td>
              </tr>
              
            
              
              
              <tr>
                <td>downloadDept</td>
                <td>GET</td>
                <td>/v1/rbac/dept/template.xlsx</td>
                <td></td>
              </tr>
              
            
              
              
              <tr>
                <td>importDept</td>
                <td>PATCH</td>
                <td>/v1/rbac/dept/import</td>
                <td>*</td>
              </tr>
              
            
              
              
              <tr>
                <td>exportDept</td>
                <td>GET</td>
                <td>/v1/rbac/dept/{tenant}/depts.xlsx</td>
                <td></td>
              </tr>
              
            
              
              
              <tr>
                <td>findLogPage</td>
                <td>GET</td>
                <td>/v1/rbac/log/page</td>
                <td></td>
              </tr>
              
            
              
              
              <tr>
                <td>findLogList</td>
                <td>GET</td>
                <td>/v1/rbac/log/list</td>
                <td></td>
              </tr>
              
            
              
              
              <tr>
                <td>findLogById</td>
                <td>GET</td>
                <td>/v1/rbac/log/id</td>
                <td></td>
              </tr>
              
            
              
              
              <tr>
                <td>deleteLog</td>
                <td>DELETE</td>
                <td>/v1/rbac/log/batch</td>
                <td></td>
              </tr>
              
            
              
              
              <tr>
                <td>selectUserInfo</td>
                <td>GET</td>
                <td>/v1/rbac/log/user</td>
                <td></td>
              </tr>
              
            
              
              
              <tr>
                <td>exportLog</td>
                <td>GET</td>
                <td>/v1/rbac/log/{tenant}/logs.xlsx</td>
                <td></td>
              </tr>
              
            
              
              
              <tr>
                <td>findOpensList</td>
                <td>GET</td>
                <td>/v1/rbac/opens/list</td>
                <td></td>
              </tr>
              
            
              
              
              <tr>
                <td>findOpensById</td>
                <td>GET</td>
                <td>/v1/rbac/opens/id</td>
                <td></td>
              </tr>
              
            
              
              
              <tr>
                <td>deleteOpens</td>
                <td>DELETE</td>
                <td>/v1/rbac/opens/id</td>
                <td></td>
              </tr>
              
            
              
              
              <tr>
                <td>findOpenAppPage</td>
                <td>GET</td>
                <td>/v1/rbac/open_app/page/{tenant}</td>
                <td></td>
              </tr>
              
            
              
              
              <tr>
                <td>findOpenAppList</td>
                <td>GET</td>
                <td>/v1/rbac/open_app/list/{tenant}</td>
                <td></td>
              </tr>
              
            
              
              
              <tr>
                <td>findOpenAppById</td>
                <td>GET</td>
                <td>/v1/rbac/open_app/id/{tenant}/{open_app_id}</td>
                <td></td>
              </tr>
              
            
              
              
              <tr>
                <td>createOpenApp</td>
                <td>POST</td>
                <td>/v1/rbac/open_app</td>
                <td>*</td>
              </tr>
              
            
              
              
              <tr>
                <td>updateOpenApp</td>
                <td>PATCH</td>
                <td>/v1/rbac/open_app</td>
                <td>*</td>
              </tr>
              
            
              
              
              <tr>
                <td>deleteOpenApp</td>
                <td>DELETE</td>
                <td>/v1/rbac/open_app/id</td>
                <td></td>
              </tr>
              
            
              
              
              <tr>
                <td>batchDeleteOpenApp</td>
                <td>PUT</td>
                <td>/v1/rbac/open_app/batch</td>
                <td>*</td>
              </tr>
              
            
              
              
              <tr>
                <td>findPermPage</td>
                <td>GET</td>
                <td>/v1/rbac/perm/page</td>
                <td></td>
              </tr>
              
            
              
              
              <tr>
                <td>findPermList</td>
                <td>GET</td>
                <td>/v1/rbac/perm/list</td>
                <td></td>
              </tr>
              
            
              
              
              <tr>
                <td>findResourcePermList</td>
                <td>GET</td>
                <td>/v1/rbac/perm/permlist</td>
                <td></td>
              </tr>
              
            
              
              
              <tr>
                <td>findPermById</td>
                <td>GET</td>
                <td>/v1/rbac/perm/id</td>
                <td></td>
              </tr>
              
            
              
              
              <tr>
                <td>createPerm</td>
                <td>POST</td>
                <td>/v1/rbac/perm</td>
                <td>*</td>
              </tr>
              
            
              
              
              <tr>
                <td>updatePerm</td>
                <td>PATCH</td>
                <td>/v1/rbac/perm</td>
                <td>*</td>
              </tr>
              
            
              
              
              <tr>
                <td>deletePerm</td>
                <td>DELETE</td>
                <td>/v1/rbac/perm/id</td>
                <td></td>
              </tr>
              
            
              
              
              <tr>
                <td>batchDeletePerm</td>
                <td>PUT</td>
                <td>/v1/rbac/perm/batch</td>
                <td>*</td>
              </tr>
              
            
              
              
              <tr>
                <td>checkPermCode</td>
                <td>GET</td>
                <td>/v1/rbac/perm/check</td>
                <td></td>
              </tr>
              
            
              
              
              <tr>
                <td>findResourceList</td>
                <td>GET</td>
                <td>/v1/rbac/resource/list</td>
                <td></td>
              </tr>
              
            
              
              
              <tr>
                <td>findResourceTreeList</td>
                <td>GET</td>
                <td>/v1/rbac/resource/treelist</td>
                <td></td>
              </tr>
              
            
              
              
              <tr>
                <td>findResourceById</td>
                <td>GET</td>
                <td>/v1/rbac/resource/id</td>
                <td></td>
              </tr>
              
            
              
              
              <tr>
                <td>createResource</td>
                <td>POST</td>
                <td>/v1/rbac/resource</td>
                <td>*</td>
              </tr>
              
            
              
              
              <tr>
                <td>updateResource</td>
                <td>PATCH</td>
                <td>/v1/rbac/resource</td>
                <td>*</td>
              </tr>
              
            
              
              
              <tr>
                <td>deleteResource</td>
                <td>DELETE</td>
                <td>/v1/rbac/resource/id</td>
                <td></td>
              </tr>
              
            
              
              
              <tr>
                <td>batchDeleteResource</td>
                <td>PUT</td>
                <td>/v1/rbac/resource/batch</td>
                <td>*</td>
              </tr>
              
            
              
              
              <tr>
                <td>downloadResource</td>
                <td>GET</td>
                <td>/v1/rbac/resource/template.xlsx</td>
                <td></td>
              </tr>
              
            
              
              
              <tr>
                <td>importResource</td>
                <td>PATCH</td>
                <td>/v1/rbac/resource/import</td>
                <td>*</td>
              </tr>
              
            
              
              
              <tr>
                <td>exportResource</td>
                <td>GET</td>
                <td>/v1/rbac/resource/{tenant}/resources.xlsx</td>
                <td></td>
              </tr>
              
            
              
              
              <tr>
                <td>existResource</td>
                <td>GET</td>
                <td>/v1/rbac/resource/exist</td>
                <td></td>
              </tr>
              
            
              
              
              <tr>
                <td>moveResouce</td>
                <td>PUT</td>
                <td>/v1/rbac/resource/move</td>
                <td>*</td>
              </tr>
              
            
              
              
              <tr>
                <td>findRoleList</td>
                <td>GET</td>
                <td>/v1/rbac/role/list</td>
                <td></td>
              </tr>
              
            
              
              
              <tr>
                <td>findRoleDetailList</td>
                <td>GET</td>
                <td>/v1/rbac/role/detaillist</td>
                <td></td>
              </tr>
              
            
              
              
              <tr>
                <td>findRoleTreeList</td>
                <td>GET</td>
                <td>/v1/rbac/role/treelist</td>
                <td></td>
              </tr>
              
            
              
              
              <tr>
                <td>findRoleById</td>
                <td>GET</td>
                <td>/v1/rbac/role/id</td>
                <td></td>
              </tr>
              
            
              
              
              <tr>
                <td>createRole</td>
                <td>POST</td>
                <td>/v1/rbac/role</td>
                <td>*</td>
              </tr>
              
            
              
              
              <tr>
                <td>updateRole</td>
                <td>PATCH</td>
                <td>/v1/rbac/role</td>
                <td>*</td>
              </tr>
              
            
              
              
              <tr>
                <td>deleteRole</td>
                <td>DELETE</td>
                <td>/v1/rbac/role/id</td>
                <td></td>
              </tr>
              
            
              
              
              <tr>
                <td>batchDeleteRole</td>
                <td>PUT</td>
                <td>/v1/rbac/role/batch</td>
                <td>*</td>
              </tr>
              
            
              
              
              <tr>
                <td>grantPerm</td>
                <td>PATCH</td>
                <td>/v1/rbac/role/grant</td>
                <td>*</td>
              </tr>
              
            
              
              
              <tr>
                <td>revokePerm</td>
                <td>PATCH</td>
                <td>/v1/rbac/role/revoke</td>
                <td>*</td>
              </tr>
              
            
              
              
              <tr>
                <td>moveRole</td>
                <td>PUT</td>
                <td>/v1/rbac/role/move</td>
                <td>*</td>
              </tr>
              
            
              
              
              <tr>
                <td>existRole</td>
                <td>GET</td>
                <td>/v1/rbac/role/exist</td>
                <td></td>
              </tr>
              
            
              
              
              <tr>
                <td>findUserLogPage</td>
                <td>GET</td>
                <td>/v1/rbac/userLog/page</td>
                <td></td>
              </tr>
              
            
              
              
              <tr>
                <td>findUserLogList</td>
                <td>GET</td>
                <td>/v1/rbac/userLog/list</td>
                <td></td>
              </tr>
              
            
              
              
              <tr>
                <td>findUserLogById</td>
                <td>GET</td>
                <td>/v1/rbac/userLog/id</td>
                <td></td>
              </tr>
              
            
              
              
              <tr>
                <td>deleteUserLog</td>
                <td>DELETE</td>
                <td>/v1/rbac/userLog/batch</td>
                <td></td>
              </tr>
              
            
              
              
              <tr>
                <td>exportUserLog</td>
                <td>GET</td>
                <td>/v1/rbac/userLog/{tenant}/userLogs.xlsx</td>
                <td></td>
              </tr>
              
            
              
              
              <tr>
                <td>getUserDeptInfo</td>
                <td>GET</td>
                <td>/v1/rbac/userLog/user</td>
                <td></td>
              </tr>
              
            
              
              
              <tr>
                <td>miniAppLogin</td>
                <td>POST</td>
                <td>/v1/front/rbac/miniapp_login/{tenant}</td>
                <td>*</td>
              </tr>
              
            
              
              
              <tr>
                <td>miniAppPhoneNumber</td>
                <td>POST</td>
                <td>/v1/front/rbac/miniapp_phonenumber/{tenant}</td>
                <td>*</td>
              </tr>
              
            
              
              
              <tr>
                <td>miniAppBindPhone</td>
                <td>POST</td>
                <td>/v1/front/rbac/miniapp_bindphone</td>
                <td>*</td>
              </tr>
              
            
              
              
              <tr>
                <td>addOrganUser</td>
                <td>POST</td>
                <td>/v1/rbac/organ/user/add</td>
                <td>*</td>
              </tr>
              
            
              
              
              <tr>
                <td>loginOrgan</td>
                <td>POST</td>
                <td>/v1/rbac/login_organ</td>
                <td>*</td>
              </tr>
              
            
              
              
              <tr>
                <td>createUserByQrcode</td>
                <td>POST</td>
                <td>/v1/rbac/user/qrcode</td>
                <td>*</td>
              </tr>
              
            
              
              
              <tr>
                <td>mobileAppLogin</td>
                <td>POST</td>
                <td>/v1/front/rbac/mobileapp_login/{tenant}</td>
                <td>*</td>
              </tr>
              
            
              
              
              <tr>
                <td>mobileAppLoginBindPhone</td>
                <td>POST</td>
                <td>/v1/front/rbac/mobileapp_loginbindphone/{tenant}</td>
                <td>*</td>
              </tr>
              
            
              
              
              <tr>
                <td>loginGzhAuthUrl</td>
                <td>GET</td>
                <td>/v1/front/rbac/gzh/auth_url/{tenant}/{app_id}</td>
                <td></td>
              </tr>
              
            
              
              
              <tr>
                <td>loginGzhAuth</td>
                <td>POST</td>
                <td>/v1/front/rbac/gzh/auth</td>
                <td>*</td>
              </tr>
              
            
              
              
              <tr>
                <td>loginGzhRegister</td>
                <td>POST</td>
                <td>/v1/front/rbac/gzh/register</td>
                <td>*</td>
              </tr>
              
            
              
              
              <tr>
                <td>loginAliAuth</td>
                <td>POST</td>
                <td>/v1/front/rbac/ali/auth</td>
                <td>*</td>
              </tr>
              
            
              
              
              <tr>
                <td>loginAliRegister</td>
                <td>POST</td>
                <td>/v1/front/rbac/ali/register</td>
                <td>*</td>
              </tr>
              
            
              
              
              <tr>
                <td>loginUnionPayAuth</td>
                <td>POST</td>
                <td>/v1/front/rbac/unionpay/auth</td>
                <td>*</td>
              </tr>
              
            
              
              
              <tr>
                <td>loginUnionPayRegister</td>
                <td>POST</td>
                <td>/v1/front/rbac/unionpay/register</td>
                <td>*</td>
              </tr>
              
            
              
              
              <tr>
                <td>checkGzhSubscribe</td>
                <td>GET</td>
                <td>/v1/front/rbac/gzh/subscribe/{tenant}</td>
                <td></td>
              </tr>
              
            
              
              
              <tr>
                <td>loginApp</td>
                <td>POST</td>
                <td>/v1/front/rbac/app/auth</td>
                <td>*</td>
              </tr>
              
            
            </tbody>
          </table>
          
        
    

    <h2 id="scalar-value-types">Scalar Value Types</h2>
    <table class="scalar-value-types-table">
      <thead>
        <tr><td>.proto Type</td><td>Notes</td><td>C++</td><td>Java</td><td>Python</td><td>Go</td><td>C#</td><td>PHP</td><td>Ruby</td></tr>
      </thead>
      <tbody>
        
          <tr id="double">
            <td>double</td>
            <td></td>
            <td>double</td>
            <td>double</td>
            <td>float</td>
            <td>float64</td>
            <td>double</td>
            <td>float</td>
            <td>Float</td>
          </tr>
        
          <tr id="float">
            <td>float</td>
            <td></td>
            <td>float</td>
            <td>float</td>
            <td>float</td>
            <td>float32</td>
            <td>float</td>
            <td>float</td>
            <td>Float</td>
          </tr>
        
          <tr id="int32">
            <td>int32</td>
            <td>Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead.</td>
            <td>int32</td>
            <td>int</td>
            <td>int</td>
            <td>int32</td>
            <td>int</td>
            <td>integer</td>
            <td>Bignum or Fixnum (as required)</td>
          </tr>
        
          <tr id="int64">
            <td>int64</td>
            <td>Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead.</td>
            <td>int64</td>
            <td>long</td>
            <td>int/long</td>
            <td>int64</td>
            <td>long</td>
            <td>integer/string</td>
            <td>Bignum</td>
          </tr>
        
          <tr id="uint32">
            <td>uint32</td>
            <td>Uses variable-length encoding.</td>
            <td>uint32</td>
            <td>int</td>
            <td>int/long</td>
            <td>uint32</td>
            <td>uint</td>
            <td>integer</td>
            <td>Bignum or Fixnum (as required)</td>
          </tr>
        
          <tr id="uint64">
            <td>uint64</td>
            <td>Uses variable-length encoding.</td>
            <td>uint64</td>
            <td>long</td>
            <td>int/long</td>
            <td>uint64</td>
            <td>ulong</td>
            <td>integer/string</td>
            <td>Bignum or Fixnum (as required)</td>
          </tr>
        
          <tr id="sint32">
            <td>sint32</td>
            <td>Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s.</td>
            <td>int32</td>
            <td>int</td>
            <td>int</td>
            <td>int32</td>
            <td>int</td>
            <td>integer</td>
            <td>Bignum or Fixnum (as required)</td>
          </tr>
        
          <tr id="sint64">
            <td>sint64</td>
            <td>Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s.</td>
            <td>int64</td>
            <td>long</td>
            <td>int/long</td>
            <td>int64</td>
            <td>long</td>
            <td>integer/string</td>
            <td>Bignum</td>
          </tr>
        
          <tr id="fixed32">
            <td>fixed32</td>
            <td>Always four bytes. More efficient than uint32 if values are often greater than 2^28.</td>
            <td>uint32</td>
            <td>int</td>
            <td>int</td>
            <td>uint32</td>
            <td>uint</td>
            <td>integer</td>
            <td>Bignum or Fixnum (as required)</td>
          </tr>
        
          <tr id="fixed64">
            <td>fixed64</td>
            <td>Always eight bytes. More efficient than uint64 if values are often greater than 2^56.</td>
            <td>uint64</td>
            <td>long</td>
            <td>int/long</td>
            <td>uint64</td>
            <td>ulong</td>
            <td>integer/string</td>
            <td>Bignum</td>
          </tr>
        
          <tr id="sfixed32">
            <td>sfixed32</td>
            <td>Always four bytes.</td>
            <td>int32</td>
            <td>int</td>
            <td>int</td>
            <td>int32</td>
            <td>int</td>
            <td>integer</td>
            <td>Bignum or Fixnum (as required)</td>
          </tr>
        
          <tr id="sfixed64">
            <td>sfixed64</td>
            <td>Always eight bytes.</td>
            <td>int64</td>
            <td>long</td>
            <td>int/long</td>
            <td>int64</td>
            <td>long</td>
            <td>integer/string</td>
            <td>Bignum</td>
          </tr>
        
          <tr id="bool">
            <td>bool</td>
            <td></td>
            <td>bool</td>
            <td>boolean</td>
            <td>boolean</td>
            <td>bool</td>
            <td>bool</td>
            <td>boolean</td>
            <td>TrueClass/FalseClass</td>
          </tr>
        
          <tr id="string">
            <td>string</td>
            <td>A string must always contain UTF-8 encoded or 7-bit ASCII text.</td>
            <td>string</td>
            <td>String</td>
            <td>str/unicode</td>
            <td>string</td>
            <td>string</td>
            <td>string</td>
            <td>String (UTF-8)</td>
          </tr>
        
          <tr id="bytes">
            <td>bytes</td>
            <td>May contain any arbitrary sequence of bytes.</td>
            <td>string</td>
            <td>ByteString</td>
            <td>str</td>
            <td>[]byte</td>
            <td>ByteString</td>
            <td>string</td>
            <td>String (ASCII-8BIT)</td>
          </tr>
        
      </tbody>
    </table>
  </body>
</html>

